package ar.com.siavu.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Programacion {

	 private Long ProgramacionID;
     private Date Fecha;
     private List<Actividad> Actividades;
     private List<HistorialActividad> HistorialActividades;
     private Plazo Plazo;
     private Boolean FechasVariables;
     private int TipoProgramacion;
     private Usuario Usuario;
	public Long getProgramacionID() {
		return ProgramacionID;
	}
	public void setProgramacionID(Long programacionID) {
		ProgramacionID = programacionID;
	}
	public Date getFecha() {
		return Fecha;
	}
	public void setFecha(Date fecha) {
		Fecha = fecha;
	}
	public List<Actividad> getActividades() {
		return Actividades;
	}
	public void setActividades(List<Actividad> actividades) {
		Actividades = actividades;
	}
	public List<HistorialActividad> getHistorialActividades() {
		return HistorialActividades;
	}
	public void setHistorialActividades(
			List<HistorialActividad> historialActividades) {
		HistorialActividades = historialActividades;
	}
	public Plazo getPlazo() {
		return Plazo;
	}
	public void setPlazo(Plazo plazo) {
		Plazo = plazo;
	}
	public Boolean getFechasVariables() {
		return FechasVariables;
	}
	public void setFechasVariables(Boolean fechasVariables) {
		FechasVariables = fechasVariables;
	}
	public Integer getTipoProgramacion() {
		return TipoProgramacion;
	}
	public void setTipoProgramacion(Integer tipoProgramacion) {
		TipoProgramacion = tipoProgramacion;
	}
	public Usuario getUsuario() {
		return Usuario;
	}
	public void setUsuario(Usuario usuario) {
		Usuario = usuario;
	}
	public Object clone(){
		Programacion p= new Programacion();
		p.setFecha(this.getFecha());
		p.setFechasVariables(this.getFechasVariables());
		p.setPlazo(this.getPlazo());
		p.setTipoProgramacion(this.getTipoProgramacion());
		p.setUsuario(this.getUsuario());
		p.setActividades(new ArrayList<Actividad>());
		for (Actividad actividad : this.getActividades()) {
			Actividad nueva= (Actividad)actividad.clone();
			p.getActividades().add(nueva);
		}
		return p;
		
	}
	
}
